Run-time mapping: dynamic resource allocation in embedded systems
نویسنده
چکیده
Many desired features of computing platforms, such as increased fault tolerance, variable quality of service, and improved energy efficiency, can be achieved by postponing resource management decisions from design-time to run-time. While multiprocessing has been widespread in embedded systems for quite some time, allocation of (shared) resources is typically done at design-time to meet the constraints of applications. The inherent flexibility of large-scale embedded systems is then reduced to a fixed, static resource allocation derived at design-time. At runtime, unanticipated situations in either the system itself or in its environment may render resources inaccessible that were assumed to be available at design-time. The increased flexibility obtained by run-time resource allocation can be exploited to increase the degree of fault tolerance, quality of service, energy efficiency and to support a higher variability in use-cases. The term run-time mapping is used to refer to resource allocation at run-time to meet the dynamic requirements of applications. A mathematical analysis of the run-time mapping problem shows that each of its subproblems, i.e. task assignment and communication routing, is computationally complex due to the constraints representing the limited resource capacities of the embedded platform. Even if one of these subproblems is solved to optimality, the second optimization problem is stillNP-hard. Therefore, two different heuristic techniques are presented to tackle the run-time mapping problem. The first approach discussed in this thesis is a deterministic technique. Both the resources requested by applications, and the resources provided by the platform are modeled as graphs. A divide-and-conquer algorithm exploits the graph structures in order to generate many small resource allocation problems. Each resource allocation problem is a knapsack problem, where the resource requests (the items) are assigned to a subset of the available resources (the bins). In case of an insufficient number of bins, the algorithm increases the set of bins by considering more platform resources, until it runs out of resources. A prototype run-time mapping system which uses this algorithm is evaluated on a many-core processing platform developed in the CRISP project. Multiple real-life applications (various beamforming applications, a GPS receiver, and a dependability monitor) have been tested successfully with the run-time mapper which determines the resource assignment
منابع مشابه
A Metric and Mixed-Integer-Programming-Based Approach for Resource Allocation in Dynamic Real-Time Systems
Dynamic real-time systems such as embedded systems operate in environments in which several parameters vary at run time. These systems must satisfy several performance requirements. Resource allocation on these systems becomes challenging because variations of run-time parameters may cause violations of the performance requirements. Performance violations result in the need for dynamic re-alloc...
متن کاملGenetic-based Approach for Scheduling, Allocation, and Mapping for HW/SW Co-Design with Dynamic Allocation Threshold
We develop a genetic-based approach for system-level architecture synthesis for scheduling, allocation, and mapping. Traditional design practices lead to over allocating resources for embedded SoC and, hence, high manufacture cost. The approach determines the scheduling, allocation, and mapping for the system at every step to find the near optimal solution. Unlike other genetic approach for par...
متن کاملOn Adaptive Resource Allocation for Complex Real-Time Applications
Resource allocation for high-performance real-time applications is challenging due to the applications’ datadependent nature, the dynamic changes in their external environment, and the limited resources available of the embedded systems on which they run. These challenges may be met by use of Adaptive Resource Allocation (ARA) mechanisms that can promptly adjust resource allocation to changes i...
متن کاملDynamic hinting: Collaborative real-time resource management for reactive embedded systems
The increasing complexity of today’s reactive embedded applications can rapidly result in reduced real-time capabilities of the underlying hard and software. As an example for this paper we’ll refer to the specific and growing demands on the severely resource constrained sensor nodes in sensor/actuator networks (SANet). While preemptive operating systems are one way to retain acceptable reactiv...
متن کاملMulti-Mode Virtualization for Soft Real-Time Systems
Real-time virtualization is an emerging technology for embedded systems integration and latency-sensitive cloud applications. Earlier real-time virtualization platforms require offline configuration of the scheduling parameters of virtual machines (VMs) based on their worst-case workloads, but this static approach results in pessimistic resource allocation when the workloads in the VMs change d...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016